﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace HospitalAdmision
{
    public partial class FormEliminacionPaciente : Form
    {
        ProyHospitalEntities proyhospitalE;
        public FormEliminacionPaciente()
        {
            InitializeComponent();
        }

        private void btnAdmEliminar_Click(object sender, EventArgs e)
        {
            Paciente eliminarpaciente = proyhospitalE.Paciente.FirstOrDefault(
                ep => ep.apePaterno == txtAdmBuscarPaciente.Text);

            proyhospitalE.Paciente.Remove(eliminarpaciente);
            proyhospitalE.SaveChanges();
            MessageBox.Show("El paciente ha sido removido");
            
        }

        private void FormEliminacionPaciente_Load(object sender, EventArgs e)
        {
            proyhospitalE = new ProyHospitalEntities();
        }

        private void btnAdmLimpiar_Click(object sender, EventArgs e)
        {
            //Limpia los diferentes controles del formulario
            txtAdmRut.Clear();
            txtAdmNombres.Clear();
            txtAdmApellidoPatPaciente.Clear();
            txtAdmApellidoMatPaciente.Clear();
            cboAdmUnidadFuncional.Items.Remove(cboAdmUnidadFuncional.SelectedItem);
            cboAdmSexo.Items.Remove(cboAdmSexo.SelectedItem);
            txtAdmEdad.Clear();
            cboAdmNumCama.Items.Remove(cboAdmUnidadFuncional.SelectedItem);
            dtpAdmFechaIngreso.ResetText(); //Limpia el DateTimePicker
            txtAdmContraindicaciones.Clear();
            cboAdmNumHabitacion.Items.Remove(cboAdmNumHabitacion.SelectedItem);
            cboAdmNumCama.Items.Remove(cboAdmNumCama.SelectedItem);
        }

        private void btnAdmBuscarPaciente_Click(object sender, EventArgs e)
        {
            //Declaración del objeto
            Paciente paciente = proyhospitalE.Paciente.FirstOrDefault(a => a.rut == txtAdmRut.Text);
            //Si paciente es distinto a null busca los datos del paciente
            if (paciente != null)
            {
                txtAdmRut.Text = paciente.rut;
                txtAdmNombres.Text = paciente.nombres;
                txtAdmApellidoPatPaciente.Text = Convert.ToString(paciente.apePaterno);
                txtAdmApellidoMatPaciente.Text = Convert.ToString(paciente.apeMaterno);
               /* cboAdmUnidadFuncional.Text = paciente.unidad.;
                * */
                cboAdmSexo.Text = paciente.sexo;
                txtAdmEdad.Text = Convert.ToString(paciente.edad);
                /*
                cboAdmNumCama.Text = Convert.ToString(paciente.nu);
                 
                cboAdmNumHabitacion.Text = Convert.ToString(paciente.numhabitacion);
                 * */
                //dtpAdmFechaIngreso.Text = Convert.ToString(paciente.fechaIngreso);
                txtAdmContraindicaciones.Text = paciente.contraindicaciones;
            }
            //Por el contrario muestra un mensaje "No se encuentra el paciente"
            else
            {
                MessageBox.Show("No se encuentra el paciente");
            }
        }

        private void inicioToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //Declara e inicializa el objeto frmprincipal
            FormPrincipal frmprincipal = new FormPrincipal();
            //Muestra el formulario frmprincipal
            frmprincipal.Show();
            //Cierra el formulario
            this.Close();
        }

        private void ingresarPacientesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //Declara e inicializa el objeto frmingresopaciente
            FormIngresoPaciente frmingresopaciente = new FormIngresoPaciente();
            //Muestra el formulario frmingresopaciente
            frmingresopaciente.Show();
            //Cierra el formulario
            this.Close();
        }

        private void txtAdmBuscarPaciente_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsControl(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsSeparator(e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }
        }
    }
}
